package Componentes;

import javax.swing.ImageIcon;

import Graficos.ComponenteGrafico;

/**
 * ProyectoX TDP 2011
 * @author  Ma Gimena Ramos- LU:82716
 * @autor Brenda Dilschneider- LU: 92774
 *
 */


public class BloqueOculto extends Componente{
	private boolean destruida;
	private boolean rompible;
	
	/**
	 * constructor
	 */
	public BloqueOculto(){
		super();
		destruida=false;
		rompible=true;
		transitable=false;
		visible=true;
		
	
	}

	/**
 * consulta si el objeto esta destruido
 * @return true si esta destruida false en el caso contrario
 */
	public boolean estaDestruida(){
		return destruida;
	}
	
	
	/**
	 * comprueba si el objeto es rompible
	 * @return true si es rompible, false en caso contrario
	 */
		public boolean esRompible(){
		return rompible;
	}
	
		/**
		 * clona el objeto y devuelve su clon de tipo BloqueOculto
		 */
	public Object clonar()
	{
		BloqueOculto v = new BloqueOculto();

	ComponenteGrafico c=  new ComponenteGrafico(null);
		
		v.setGrafico(c);
		
		return v;
	}
/**
 * si no esta destruido  habilita el objeto de la vida 
 */
	@Override
	public void chocarMario() {
		 int	x=this.obtenerPosicion().getX();
	       int  y= this.obtenerPosicion().getY()-1;
	if (!destruido){
		    	Componente com=mario.obtenerPartida().getComponente(x, y);	
	  		 	if (com!=null){
	  		 		if (!com.visible)//no es una moneda
	  		 		{ com.comp.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Dibujos/1up.gif")));
	                 com.visible=true;
	  		 		com.arrancarHilo();}
	  		   	}destruido=true;}}	
		
	
	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void arrancarHilo() {
		
		
	}

	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void pisadoPorMario() {
	
	}

	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void destruirHilo() {
				
	}

	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void serChocado() {
		
	}
	
	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void serChocado(Componente c) {
	
		
	}

	
	

}
